package com.situ.service.impl;

import java.util.List;
import java.util.Map;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;
import com.situ.service.IvArchiveService;
import com.situ.dao.IvArchiveDao;
import com.situ.common.Assist;
import com.situ.entity.IvArchive;

/**
 * IvArchive的服务接口的实现类
 *
 * @author
 */
@Service
public class IvArchiveServiceImpl implements IvArchiveService {
    private final Logger LOG = LogManager.getLogger(this.getClass());
<<<<<<< HEAD

    @Autowired
    private IvArchiveDao ivArchiveDao;
    // TODO 当你看到这个方法时你应该创建一个工具类做通用的方法,定义自己的返回格式化
    private static final int C200 = 200;
    private static final int C412 = 412;

    public String resultFormat(int code, Object data) {
        JSONObject result = new JSONObject();
        result.put("code", code);
        if (data != null) {
            result.put("data", data);
        }
        return result.toJSONString();
    }

    @Override
    public List<IvArchive> find(IvArchive value) {
        //TODO这里可以做通过Assist做添加查询
        List<IvArchive> result = ivArchiveDao.selectIvArchive(null);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行获取IvArchive数据集-->结果:", result);
        }
        return result;
    }

    @Override
    public IvArchive findOne(Object id) {
        if (id == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行通过IvArchive的id获得IvArchive对象-->失败:id不能为空");
            }
            return null;
        }
        IvArchive result = ivArchiveDao.selectIvArchiveById(id);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行通过IvArchive的id获得IvArchive对象-->结果:", result);
        }
        return result;
    }

    @Override
    public String saveNotNull(IvArchive value) {
        if (value == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行将IvArchive中属性值不为null的数据保存到数据库-->失败:对象不能为空");
            }
            return resultFormat(C412, null);
        }
        int result = ivArchiveDao.insertNotNullIvArchive(value);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行将IvArchive中属性值不为null的数据保存到数据库-->结果:", result);
        }
        return resultFormat(C200, result);
    }

    @Override
    public String updateNotNullById(IvArchive value) {
        if (value == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行通过IvArchive的id更新IvArchive中属性不为null的数据-->失败:对象为null");
            }
            return resultFormat(C412, null);
        }
        int result = ivArchiveDao.updateNotNullIvArchiveById(value);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行通过IvArchive的id更新IvArchive中属性不为null的数据-->结果:", result);
        }
        return resultFormat(C200, result);
    }

    @Override
    public String deleteById(Object id) {
        if (id == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行通过IvArchive的id删除IvArchive-->失败:id不能为空");
            }
            return resultFormat(C412, null);
        }
        int result = ivArchiveDao.deleteIvArchiveById(id);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行通过IvArchive的id删除IvArchive-->结果:", result);
        }
        return resultFormat(C200, result);
    }
=======

    @Autowired
    private IvArchiveDao ivArchiveDao;
    // TODO 当你看到这个方法时你应该创建一个工具类做通用的方法,定义自己的返回格式化
    private static final int C200 = 200;
    private static final int C412 = 412;

    public String resultFormat(int code, Object data) {
        JSONObject result = new JSONObject();
        result.put("code", code);
        if (data != null) {
            result.put("data", data);
        }
        return result.toJSONString();
    }

    @Override
    public List<IvArchive> find(IvArchive value) {
        //TODO这里可以做通过Assist做添加查询
        List<IvArchive> result = ivArchiveDao.selectIvArchive(null);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行获取IvArchive数据集-->结果:", result);
        }
        return result;
    }

    @Override
    public IvArchive findOne(Object id) {
        if (id == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行通过IvArchive的id获得IvArchive对象-->失败:id不能为空");
            }
            return null;
        }
        IvArchive result = ivArchiveDao.selectIvArchiveById(id);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行通过IvArchive的id获得IvArchive对象-->结果:", result);
        }
        return result;
    }


	//查询发票的方法
	@Override
	public List<Map> queryfapiao() {
		return ivArchiveDao.queryfapiao();
	}
>>>>>>> 44fe0bde40fc461e32cae351c1883e6b70f9db82

	
    @Override
    public String saveNotNull(IvArchive value) {
        if (value == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行将IvArchive中属性值不为null的数据保存到数据库-->失败:对象不能为空");
            }
            return resultFormat(C412, null);
        }
        int result = ivArchiveDao.insertNotNullIvArchive(value);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行将IvArchive中属性值不为null的数据保存到数据库-->结果:", result);
        }
        return resultFormat(C200, result);
    }


    @Override
    public String updateNotNullById(IvArchive value) {
        if (value == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行通过IvArchive的id更新IvArchive中属性不为null的数据-->失败:对象为null");
            }
            return resultFormat(C412, null);
        }
        int result = ivArchiveDao.updateNotNullIvArchiveById(value);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行通过IvArchive的id更新IvArchive中属性不为null的数据-->结果:", result);
        }
        return resultFormat(C200, result);
    }

    @Override
    public String deleteById(Object id) {
        if (id == null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("执行通过IvArchive的id删除IvArchive-->失败:id不能为空");
            }
            return resultFormat(C412, null);
        }
        int result = ivArchiveDao.deleteIvArchiveById(id);
        if (LOG.isDebugEnabled()) {
            LOG.debug("执行通过IvArchive的id删除IvArchive-->结果:", result);
        }
        return resultFormat(C200, result);
    }


}